In a communications system, channel coding is generally used to improve reliability of data transmission, so as to ensure communication quality. A polar code (Polar code) is a linear block code, and it has been theoretically proved that the polar code is an encoding manner that can achieve a Shannon capacity and has low coding-decoding complexity. An encoding output of the polar code may be expressed as follows:
x1N=u1NGN, where
u1={u1, u2, . . . , uN} is a binary row vector, and a length is N; and GN is a N*N matrix, GN.=BN, a code length N=2, and n≥0, where
      F    =          [                                    1                                0                                                1                                1                              ]        ,BN is a transposed matrix, and  is a Kronecker power and is defined as =F
In an encoding process in which the polar code is used, some bits in u1N are used to carry information, where these bits are referred to as information bits, and an index set of these bits is assumed as A. The other bits have fixed values, are referred to as frozen bits, and are generally set to 0. In this way, the encoding output of the polar code may be simplified as x1N=uAGN(A), where uA is a set of information bits in u1N, uA is a row vector whose length is K, and K is a quantity of the information bits. GN.(A) is a sub-matrix obtained by using rows corresponding to indexes in the set A, and GN.(A) is a K*N matrix. Selection of the set A determines performance of the polar code.
In the prior art, a conventional chase combining Hybrid Automatic Repeat reQuest (HARQ) technology is used to perform encoding. In a case of a decoding failure, a receiving party stores received data and requires a sending party to retransmit the data.